/*
 *  内存映射相关操作封装
 */
#ifndef _TME_MMAP_H_
#define _TME_MMAP_H_

#include <stdio.h>
#include <stdint.h>

/* 分页大小 */
#define TME_MMAP_PAGE_SIZE 4096

/* 映射文件对应位置内存,成功返回非NULL指针(要求fp为r+打开) */
/* 设置 isReadOnly 时,若对取得的内存写会直接崩溃 */
void* tme_mmap_create(FILE* fp, int32_t memSize, int32_t offset, int32_t isReadOnly);

/* 回收指针 */
void tme_mmap_release(void* mem);

/* 统计信息 */
int32_t tme_mmap_getTotalMemSize(); /* 总共映射了多少内存 */
int32_t tme_mmap_getTotalMemCount(); /* 总共收录了多少块 */

#endif // _TME_MMAP_H_
